package com.ahdms.es.bean;

import java.util.List;

/**
 * 印章信息
 * @author qinxiang
 * @date 2021-04-16 15:19
 */
public class SealInfo {

    /**
     * 印章编码
     */
    private String sealCode;

    /**
     * 印章名称
     */
    private String sealName;

    /**
     * 电子印章厂商ID
     */
    private String vid;

    /**
     * 制章时间
     */
    private String createDate;

    /**
     * 有效期开始时间
     */
    private String validStartTime;

    /**
     * 有效期结束时间
     */
    private String validEndTime;

    /**
     * 签章人证书列表
     */
//    private List<CertInfo> signCertList;

    /**
     * 制章人证书信息
     */
//    private CertInfo certInfo;

    public SealInfo() {
    }

    public SealInfo(String sealCode, String sealName) {
        this.sealCode = sealCode;
        this.sealName = sealName;
    }

    public SealInfo(String sealCode, String sealName, String validStartTime, String validEndTime) {
        this.sealCode = sealCode;
        this.sealName = sealName;
        this.validStartTime = validStartTime;
        this.validEndTime = validEndTime;
    }

    public SealInfo(String sealCode, String sealName, String createDate, String validStartTime, String validEndTime,String vid) {
        this.sealCode = sealCode;
        this.sealName = sealName;
        this.createDate = createDate;
        this.validStartTime = validStartTime;
        this.validEndTime = validEndTime;
        this.vid = vid;
    }

    public static SealInfo.SealInfoBuilder builder(){
        return new SealInfo.SealInfoBuilder();
    }

    public String getVid() {
        return vid;
    }

    public void setVid(String vid) {
        this.vid = vid;
    }

    public String getSealCode() {
        return sealCode;
    }

    public void setSealCode(String sealCode) {
        this.sealCode = sealCode;
    }

    public String getSealName() {
        return sealName;
    }

    public void setSealName(String sealName) {
        this.sealName = sealName;
    }

    public String getValidStartTime() {
        return validStartTime;
    }

    public void setValidStartTime(String validStartTime) {
        this.validStartTime = validStartTime;
    }

    public String getValidEndTime() {
        return validEndTime;
    }

    public void setValidEndTime(String validEndTime) {
        this.validEndTime = validEndTime;
    }

    public String getCreateDate() {
        return createDate;
    }

    public void setCreateDate(String createDate) {
        this.createDate = createDate;
    }

    @Override
    public String toString() {
        return "SealInfo{" +
                "sealCode='" + sealCode + '\'' +
                ", sealName='" + sealName + '\'' +
                ", validStartTime='" + validStartTime + '\'' +
                ", validEndTime='" + validEndTime + '\'' +
                '}';
    }

    public static class SealInfoBuilder{
        private String sealCode;

        private String sealName;

        private String createDate;

        private String validStartTime;

        private String validEndTime;

        private String vid;

        public SealInfo.SealInfoBuilder sealCode(String sealCode){
            this.sealCode = sealCode;
            return this;
        }

        public SealInfo.SealInfoBuilder sealName(String sealName){
            this.sealName = sealName;
            return this;
        }

        public SealInfo.SealInfoBuilder validStartTime(String validStartTime){
            this.validStartTime = validStartTime;
            return this;
        }

        public SealInfo.SealInfoBuilder createDate(String createDate){
            this.createDate = createDate;
            return this;
        }

        public SealInfo.SealInfoBuilder validEndTime(String validEndTime){
            this.validEndTime = validEndTime;
            return this;
        }

        public SealInfo.SealInfoBuilder vid(String vid){
            this.vid = vid;
            return this;
        }

        public SealInfo build(){
            return new SealInfo(this.sealCode,this.sealName,this.createDate,this.validStartTime,this.validEndTime,this.vid);
        }

    }
}
